package com.cencat.framework.file.dto;

import lombok.Data;
import org.springframework.web.multipart.MultipartFile;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

/**
 * 文件上传请求DTO
 */
@Data
public class FileUploadRequest {
    
    /**
     * 文件内容
     */
    @NotNull(message = "文件不能为空")
    private MultipartFile file;
    
    /**
     * 存储类型：LOCAL/MINIO/ALIYUN_OSS/TENCENT_COS
     */
    @NotBlank(message = "存储类型不能为空")
    private String storageType;
    
    /**
     * 存储路径
     */
    private String storagePath;
    
    /**
     * 业务模块
     */
    private String businessModule;
    
    /**
     * 业务ID
     */
    private String businessId;
    
    /**
     * 访问级别：1-公开 2-部门 3-私有
     */
    private Integer accessLevel = 1;
    
    /**
     * 是否临时文件
     */
    private Boolean isTemporary = false;
    
    /**
     * 过期时间（临时文件）
     */
    private String expireTime;
    
    /**
     * 文件描述
     */
    private String description;
    
    /**
     * 标签
     */
    private String tags;
}